A. Field of the Invention
The present invention relates to data communications systems. More particularly, the present invention relates to data communication systems using optical fibers to carry information.
B. Related Art
Fiber optics enable the transmission of long string of data in a serial fashion from a driver to a receiver at long distances (kilometers) at very high data rates (billions of bits per second). This is in contrast to traditional electrical wires which allow data to be transmitted for only short distances at these data rates (10's of meters).
High performance computers require system buses between elements of a computing system to have even higher bandwidths (100's of millions of bytes per second). The use of a single fiber optic cable running at its maximum bandwidth can be insufficient to serve as a system bus between elements of a computing system.
In the prior art, a classical solution to the problem of inadequate bandwidth on a single carrier is to transmit the bits of each data word, in parallel, one over each of a plurality of carriers (a parallel bus). Another solution, known as striping, entails sending a plurality of serial data words, in parallel, one over each of a plurality of carriers. These solutions, however, share a common problem in that skew can develop between the parallel bits or words as they are sent over the bus.
Skew is a propagation time variation between the fastest and the slowest carrier. If not handled properly, such propagation time variations can cause data errors at the receiver. Skew can be caused by differences in the physical characteristics of the driver, receiver and transmission medium for each carrier of the bus.
There are two general categories of skew. One is random skew (RSKEW) and appears as jitter. Sources of this skew are due to clock synchronization and null word insertion. The other type of skew is systemic (SSKEW) in that one transceiver is always slower or faster than another by a fixed amount of time. Differences in carrier propagation times are a typical source of the systemic type of skew.
The transmitter, carrier, and receiver each introduce skew. Below is a description of how each of these elements introduces skew.
Transmission launch skew is the time difference between the start of frame of the earliest transmitter and the start of frame of the latest transmitter. This type of skew is measured at the transmitters. There are three sources of transmission launch skew. The first is random and is caused by the synchronization of the transmitter clock to the system clock. Where the all transmitter clocks are locked to a common reference clock, and there is a common system clock synchronization point, the launch skew can be as small as one bit time, or even less. The second source of transmission launch skew is also random and is caused by null insertion. The third source of transmission launch skew is systemic and is due to differences in internal signal propagation times from transceiver to transceiver. Any reasonable physical design should limit this skew to several bit times.
A significant amount of skew is caused by the characteristic of the carrier itself. The carrier skew is simply the difference in propagation times between the slowest and fastest carriers in a link. This skew is almost entirely systemic. Slight variations can occur over time due to environmental changes such as temperature. Thus, it should be understood that even if a plurality of frames are launched at the same time, they are likely to arrive at different times because of the carrier skew.
Skew can also be caused by the characteristics of the receiver. There are two sources of skew in the receiver. The first is random and is caused by the synchronization of the system clock to the receiver clock. The second source of receiver skew is systemic and is due to differences in internal signal propagation times between different transceivers. As with the transmitter, any reasonable physical design should limit this skew to several bit times.
To avoid data errors of the type which can be caused by skew, some means for synchronization of the parallel bits is conventionally employed. Traditional parallel bus designs use a common clock to achieve synchronization. This solution, while workable, is inefficient in that the common clock typically causes the data collection to be performed in lock step, at a speed limited at the upper end by the slowest bit path transmission time.
Thus what is needed is an improved method for transmitting data words over a plurality of carriers such as multiple fiber optic filaments.